Pix主题适配威言威语大神的走心评论 Touching Comments插件

威言威语大神的走心评论 Touching Comments插件在半年内,我前前后后安装了3次,也卸载了3次,究其原因很简单,界面很不适配我的Pix主题。但这个功能实在是喜欢,前段时间想利用AI写一个自己的暖心评插件,但是不知道为何,始终加载不了插件里的js和css,真的是技不如人。前天晚上又安装了大神的这个插件,经过一天两晚的公关,终于适配了主题。

PS:经大神指点,插件设置里是有后台功能的,我没有注意,并且默认不会将管理员评论入选暖心评,PIX主题的同学可以忽计后面添加后台功能的代码,那个算我熟悉代码练手了。

Pix主题适配威言威语大神的走心评论 Touching Comments插件-似水流年

首先适配主题:

1、主要是修改pix/inc/assets/css/main.css,由于本次修改的地方实在是太多,强烈建议修改前备份main.css 文件。我提供修改后的main.css,覆盖源文件即可。

2、修改大神插件里的touching-comments/css/touching.css文件,将

.touching-comments-list img.avatar{vertical-align:middle;}

替换如下,这个主要是给头像添加旋转以及边框特效效果。

.touching-comments-list .avatar{float: left;position: absolute;background: #f3f3f3;top: 0.75rem;left: -1.625rem;padding: 0.5rem;box-shadow: -1px 0 1px rgba(0,0,0,0.1) inset;border-radius: 50%;transition: transform 0.5s ease;}
.touching-comments-list .avatar:hover {transform: rotate(360deg);}

自此,适配结束。

以下是练手代码,用PIX主题的同学可以不用看了。

默认前台心形按钮:

Pix主题适配威言威语大神的走心评论 Touching Comments插件-似水流年

新增后台文字按钮:

Pix主题适配威言威语大神的走心评论 Touching Comments插件-似水流年

新增过程如下:

1、修改大神插件touching-comments/touching.php,大概在40行:

//评论中展示“入选走心评论”的标识
function touching_comments_show( $comment_text, $comment = null ) {

前面插入以下代码:

// 在后台评论管理页面添加"入选暖心评"按钮
add_filter('comment_row_actions', 'touching_comments_admin_row_actions', 10, 2);
function touching_comments_admin_row_actions($actions, $comment) {
    // 检查用户权限
    if (!current_user_can('level_10')) {
        return $actions;
    }

    // 获取当前评论的karma值
    $karma = $comment->comment_karma;
    
    // 构建nonce URL
    $nonce = wp_create_nonce('touching_comments_admin_karma');
    $url = admin_url('admin-ajax.php?action=touching_comments_admin_karma&comment_id=' . $comment->comment_ID . '&comment_karma=' . ($karma == 1 ? 0 : 1) . '&_wpnonce=' . $nonce);
    
    // 根据当前karma值设置按钮文本
    $button_text = $karma == 1 ? __('取消暖心评', 'touching-comments') : __('入选暖心评', 'touching-comments');
    
    // 添加按钮到评论操作行
    $actions['touching_comments'] = '<a href="' . esc_url($url) . '" class="touching-comments-admin-button" data-comment-id="' . $comment->comment_ID . '" data-comment-karma="' . $karma . '">' . esc_html($button_text) . '</a>';
    
    return $actions;
}

// 处理后台评论管理页面的AJAX请求
add_action('wp_ajax_touching_comments_admin_karma', 'touching_comments_admin_karma_request');
function touching_comments_admin_karma_request() {
    // 检查nonce
    if (!isset($_GET['_wpnonce']) || !wp_verify_nonce($_GET['_wpnonce'], 'touching_comments_admin_karma')) {
        wp_send_json_error(array('message' => __('安全检查失败', 'touching-comments')));
    }
    
    // 检查权限
    if (!current_user_can('level_10')) {
        wp_send_json_error(array('message' => __('权限不足', 'touching-comments')));
    }
    
    // 获取参数
    $comment_id = isset($_GET['comment_id']) ? intval($_GET['comment_id']) : 0;
    $comment_karma = isset($_GET['comment_karma']) ? intval($_GET['comment_karma']) : 0;
    
    // 验证参数
    if ($comment_id <= 0) {
        wp_send_json_error(array('message' => __('评论ID无效', 'touching-comments')));
    }
    
    if ($comment_karma !== 0 && $comment_karma !== 1) {
        wp_send_json_error(array('message' => __('karma值无效', 'touching-comments')));
    }
    
    // 更新评论karma值
    $comment_data = array(
        'comment_ID' => $comment_id,
        'comment_karma' => $comment_karma
    );
    
    // ✅ 关键修复:执行评论更新
    if (wp_update_comment($comment_data)) {
        wp_send_json_success(array(
            'message' => __('评论状态已更新', 'touching-comments'),
            'comment_id' => $comment_id,
            'comment_karma' => $comment_karma
        ));
    } else {
        wp_send_json_error(array('message' => __('更新评论失败', 'touching-comments')));
    }
}

// 在后台加载必要的JS和CSS
add_action('admin_enqueue_scripts', 'touching_comments_admin_scripts');
function touching_comments_admin_scripts($hook) {
    // 只在评论管理页面加载
    if ($hook != 'edit-comments.php') {
        return;
    }
    
    // 注册并本地化JS
    wp_enqueue_script('touching-comments-admin-js', plugin_dir_url(__FILE__) . 'js/touching-admin.js', array('jquery'), '1.1.6', true);
    wp_localize_script('touching-comments-admin-js', 'touchingCommentsAdmin', array(
        'ajaxurl' => admin_url('admin-ajax.php'),
        'nonce' => wp_create_nonce('touching_comments_admin_karma')
    ));
}

2、在touching-comments/js目录下新建touching-admin.js,内容如下:

jQuery(document).ready(function($) {
    $('a.touching-comments-admin-button').on('click', function(e) {
        e.preventDefault();
        
        var $button = $(this);
        var commentId = $button.data('comment-id');
        var commentKarma = $button.data('comment-karma');
        var newKarma = commentKarma == 1 ? 0 : 1;
        
        $.ajax({
            url: touchingCommentsAdmin.ajaxurl,
            type: 'GET',
            data: {
                action: 'touching_comments_admin_karma',
                comment_id: commentId,
                comment_karma: newKarma,
                _wpnonce: touchingCommentsAdmin.nonce
            },
            success: function(response) {
                if (response.success) {
                    // 更新按钮文本
                    if (newKarma == 1) {
                        $button.text('取消暖心评');
                        $button.data('comment-karma', 1);
                    } else {
                        $button.text('入选暖心评');
                        $button.data('comment-karma', 0);
                    }
                }
            },
            error: function(xhr, status, error) {
                // 不做任何处理
            }
        });
    });
});

所有过程结束。

Comments | 9 条评论
  • 刘郎

    Google Chrome 127 Google Chrome 127 GNU/Linux GNU/Linux cn中国–贵州–贵阳 移动 ip address 117.187.*.*

    一场带着温度的自我剖白 把婚姻里的拉扯 认知鸿沟的痛感 还有对未来的矛盾心境都摊开在了读者面前 尤其是那句“婚姻从厚重变得渺小” 薄薄的离婚证确实承载了太多茶米油盐的重量 而认知差带来的“指鹿为马”式疲惫 比争吵更像钝刀割肉

  • 刘郎

    Google Chrome 127 Google Chrome 127 GNU/Linux GNU/Linux cn中国–贵州–贵阳 移动 ip address 117.187.*.*

    这个插件挺有创意的 不错👍 即是对评论者的评论认可 又是对自己评论区的升华

    • 似水流年

      Google Chrome 127 Google Chrome 127 GNU/Linux GNU/Linux cn中国 中国联通 ip address 2408:8220:5f14:e490:*:*

      是的,大神这个插件真的不错。

  • obaby

    Google Chrome 134 Google Chrome 134 Mac OS X 10.15 Mac OS X 10.15 cn中国 中国联通 ip address 2408:8417:d10:999:*:*

    工程量太大了,哈哈哈。感觉跟重写差不多

    • 似水流年

      Google Chrome 127 Google Chrome 127 GNU/Linux GNU/Linux cn中国 中国联通 ip address 2408:8220:5f14:e490:*:*

      main.css的代码太长了,打包上传,不显示了。并且改的太多了,有些原有细微的功能消失了,比如文章内容的字体和评论字体就不一样了,文字高亮颜色也没有了,还得慢慢修改。

  • 全局变量

    Google Chrome 132 Google Chrome 132 Windows 10 Windows 10 cn中国–湖南 移动/全省通用 ip address 111.22.*.*

    所以这个走心评论是怎么样一个入选依据呢?是自动入选还是?让ai评分还是?

    • 似水流年

      IBrowse r IBrowse r Android 12 Android 12 cn中国 中国联通 ip address 2408:8220:5f14:e490:*:*

      全靠我手工点击😹
      比如我现在点你一下。

  • 威言威语

    Firefox 139 Firefox 139 Windows 10 Windows 10 cn中国–上海–上海 电信 ip address 101.228.*.*

    那个在后台评论页面直接操作加入走心评论这个功能插件是有的。默认没有开启,插件的设置页面:后台评论快捷操作(Backend comments quick operations),开启之后,在后台评论页面就能直接看到爱心图标了点击就能加入或者取消了。

    • 似水流年

      Google Chrome 127 Google Chrome 127 GNU/Linux GNU/Linux cn中国 中国联通 ip address 2408:8220:5f14:e490:*:*

      我错了🤣没注意这个,本篇就当自己熟悉下代码了。😂

消息盒子
# 您需要首次评论以获取消息 #
# 您需要首次评论以获取消息 #

只显示最新10条未读和已读信息